layui.use(['jquery','layer'],function () {
    var layer = layui.layer;
    var $ = layui.$;
    //关闭功能
    $('#close').click(function () {
        var layer = parent.layer;
        layer.close(layer.index);
    });

    //查询所有课程分类（树结构）
    getCourseClassTree();
    function getCourseClassTree() {
        var setting = {
            data: {
                simpleData: {
                    enable: true,  //true 、 false 分别表示 使用 、 不使用 简单数据模式
                    idKey: "id",  //节点数据中保存唯一标识的属性名称
                    pIdKey: "parentId",    //节点数据中保存其父节点唯一标识的属性名称
                    rootPId: -1  //用于修正根节点父节点数据，即 pIdKey 指定的属性值
                },
                key: {
                    name: "name"  //zTree 节点数据保存节点名称的属性名称  默认值："name"
                }
            },
            view: {
                dblClickExpand: false
            },
            check: {
                enable : true,  //true 、 false 分别表示 显示 、不显示 复选框或单选框
                chkStyle: 'checkbox'
            },
            callback: {
                onCheck: onCheck,
                beforeCheck : function(treeId, treeNode) {
                    var zTree = $.fn.zTree.getZTreeObj(treeId);
                    zTree.checkAllNodes(false);
                    return true;
                }
            }
        };
        //确定按钮
        $('#confirm').click(function () {
            var treeObj = $.fn.zTree.getZTreeObj("courseTree");
            var nodes = treeObj.getCheckedNodes(true);
            var checkCount = 0;
            var checkNode;
            var selectNode = '';
            var layer = layui.layer;
            $.each(nodes,function (i, item) {
                if(item.id != 0){
                    if(!item.isParent){
                        checkCount++;
                        checkNode = item;
                        if(i == nodes.length - 1){
                            selectNode += item.name;
                        }else{
                            selectNode += item.name + '、';
                        }
                    }else{
                        selectNode += item.name + '>';
                    }
                }
            })
            if(checkCount > 1){
                layer.msg('只能选中1个节点');
            }else if(checkCount == 0){
                layer.msg('至少选中1个节点');
            }else if(checkCount == 1){
                parent.$('#className').val(checkNode.name);
                parent.$('#classId').val(checkNode.id);
                parent.$('#selectNode').text('您选择的节点是:' + selectNode).show();
                var layer = parent.layer;
                layer.close(layer.index);
            }
        })
        function onCheck(event, treeId, treeNode) {
            var treeObj = $.fn.zTree.getZTreeObj("courseTree");
            var nodes = treeObj.getCheckedNodes(true);
            var selectNodes = '';
            $.each(nodes,function (i, item) {
                if(item.id != 0){
                    if(item.isParent){
                        selectNodes += item.name + '>';
                    }else{
                        if(i == nodes.length - 1){
                            selectNodes += item.name;
                        }else{
                            selectNodes += item.name + '、';
                        }
                    }
                }
            });
            $('#selectNodes').text('您选择的节点是:' + selectNodes);
        }
        getAllJsCourseClassTree();
        function getAllJsCourseClassTree(){
            $.ajax({
                url: '/courseClass/getAllJsCourseClassTree',
                dataType: 'json',
                success: function (data) {
                    //部门树的渲染
                    zTree = $.fn.zTree.init($("#courseTree"), setting, data.data);//初始化树
                    zTree.expandAll(true);    //true 节点全部展开、false节点收缩
                    var classId = parent.$('#classId').val();
                    if(classId != ''){
                        var node = zTree.getNodeByParam("id",classId);
                        node.checked = true;
                        zTree.updateNode(node);
                    }
                }
            });
        }

    }
})